Error detection in precharged logic

ABSTRACT

An integrated circuit  2  is provided with domino logic including a speculative node  22  and a checker node  24 . Precharged circuitry  36  precharges both the speculative node and the checker node. Logic circuitry  26  provides a discharge path for the speculative node and the checker node in dependence upon input signal values. Evaluation control circuitry  28, 30  first couples the speculative node to the logic circuitry and then subsequently couples the checker node to the logic circuitry such that these can be discharged if the input signals to the logic circuitry  26  have appropriate values. Error detection circuitry  32  detects an error when the speculative node and the checker node are not one of both discharged or both undischarged.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to the field of precharged logic, such as, forexample, domino logic. More particularly, this invention relates toerror detection within such precharged logic.

2. Description of the Prior Art

It is known to provide domino logic in which precharged nodes aredischarged in response to combinations of input signals. These nodesgenerate signals which go onto control the discharge of other nodes.Domino logic has become less widely used in recent times due to avariety of factors including the rapid advance in process technologycoupled with continuous improvements in design automation that arebetter suited to logic designs different to domino logic designs. Whiledomino logic is inherently well suited to high speed operation, thisadvantage has been reduced compared to standard CMOS logic. However, itis primarily the fundamental design complexity and the necessarycompromises between robustness and speed which makes the use of dominologic difficult in small process geometries. In particular, noise,charge-sharing, leakage and variability, all of which tend to becomegreater in significance at smaller process geometries, combine to makethe practical use of domino logic in small process geometries difficult.In particular, errors can arise through sources such as late (rising)signals, noise triggering incorrect discharge of domino nodes,inappropriately selected or controlled keeper strength and/orincorrectly controlled or adjusted precharge settings.

SUMMARY OF THE INVENTION

Viewed from one aspect the present invention provides an integratedcircuit having at least one processing stage comprising: a speculativenode; a checker node; precharge circuitry coupled to said speculativenode and to said checker node to precharge said speculative node and toprecharge said checker node; logic circuitry responsive to one or moreinput signals to provide a discharge path in dependence upon values ofsaid one or more input signals; evaluation control circuitry responsiveto at least one evaluation control signal to couple said speculativenode to said logic circuitry to be discharged through said dischargepath in dependence upon said one or more input signals and subsequentlyto couple said checker node to said logic circuitry to be dischargedthrough said discharge path in dependence upon said one or more inputsignals; and error detection circuitry coupled to said speculative nodeand to said checker node to detect an error when any one of: (i) saidspeculative nodes is discharged and said checking node is undischarged;(ii) said speculative node is undischarged and said checking node isdischarge; and (iii) said speculative node is partially discharged.

The present technique provides an integrated circuit includingprecharged logic, such as domino logic, with built-in error detectioncircuitry. The error detection circuitry is able to detect latedischarge and partial discharge. A variety of different responses and/orstrategies may be used when an error is detected.

Whilst it will be appreciated that the above technique is suited for avariety of different forms for precharged logic, it is particularlysuited for use in integrated circuits which include a plurality ofprocessing stages formed in this way which together provide a dominologic circuit.

Within such domino logic circuits, a signal value of a speculative nodeof a first processing stage of the domino logic circuit is supplied asan input signal to logic circuitry of a second processing stage of thedomino logic circuit.

The evaluation control signal or signals may take a variety of differentforms. In some embodiments, the evaluation control signals comprise aspeculative clock signal controlling coupling of the speculative node tothe logic circuitry and a checker clock signal controlling coupling ofthe checker node to the logic circuitry. The provision of multipleclocks with a predetermined relationship between those clocks may berelatively conveniently provided and is well understood from a designand validation perspective.

In some embodiments a transition in the speculative clock signal to aspeculative clock signal value that decouples the speculative node fromthe logic circuitry may also serve to trigger a transition in thechecker clock signal to a checker clock signal value that couples thechecker node to the logic circuitry. In this way, the relative phase ofthe speculative clock signal and the checker clock signal may beensured.

In other embodiments, the transition in the checker clock signal to achecker clock signal value that decouples the checker node from thelogic circuitry may be self-timed.

In further embodiments, the speculative clock signal and the checkerclock signal may be part of a four-phase clocking scheme. Such afour-phase clocking scheme provides a convenient way for controlling theaction of the checker node in relation to the action of the speculativenode.

The error detection circuitry provided by the present technique is ableto responds to a variety of different types of error. When the errordetection circuitry detects that the speculative node is undischargedand the checker node is discharged, this is indicative of an error dueto a late change in one or more of the input signals to the logiccircuitry.

When the error detection circuitry detects that the speculative node isdischarged and the checker node is undischarged, this is indicative ofan error due to noise inducing and incorrect discharge of thespeculative node.

The detection of metastability by the error detection circuitry isindicative of either late discharge or partial discharge of thespeculative node.

Whilst it is possible that the error detection circuitry may be used toflag the occurrence of an error, it is also possible to provide a formof closed-loop control in which the operation of the processing stage isadjusted in response to detection of an error by the error detectioncircuitry.

In some embodiments detection of an error by the error detectioncircuitry increases the magnitude of precharge, by either increasing theprecharge voltage, or increasing the effective capacitance of thespeculative node. Increasing the precharge may slow operation andincrease energy consumption, but it will tend to make operation morerobust.

Additionally or alternatively, keeper circuitry coupled to thespeculative node and configured to maintain the speculative node in itsprecharged state until overwhelmed by discharge through the dischargepath may be controlled in response to detection of an error so as toincrease the conductance of the keeper circuitry and thus more stronglymaintain the speculative node in the precharged state. Such control ofthe keeper circuitry can make the operation more robust to errors, butwill tend to slow down operation.

The above closed-loop control techniques are useful in that theparameters in operation may be adjusted to suit the individual circuitand its current operating parameter/environment in a way that producesreliable and robust operation without wasteful excessive margining.

The evaluation control circuitry can take a variety of different forms.A simple form comprises a speculative node evaluation gate responsive tothe speculative clock signal to selectively couple the speculative nodeto the logic circuitry. In a similar way, a checker node evaluate gateresponsive to the checker clock signal may be used to selectively couplethe checker node to the logic circuitry. Viewed from another aspect thepresent invention provides an integrated circuit having at least oneprocessing stage comprising: speculative node means; checker node means;precharge means coupled to said speculative node means and to saidchecker node means for precharging said speculative node means and forprecharging said checker node means; logic means responsive to one ormore input signals for providing a discharge path in dependence uponvalues of said one or more input signals; evaluation control meansresponsive to at least one evaluation control signal for coupling saidspeculative node means to said logic means to be discharged through saiddischarge path in dependence upon said one or more input signals andsubsequently for coupling said checker node means to said logic means tobe discharged through said discharge path in dependence upon said one ormore input signals; and error detection means coupled to saidspeculative node means and to said checker node means detecting an errorwhen any one of: (i) said speculative nodes is discharged and saidchecking node is undischarged; (ii) said speculative node isundischarged and said checking node is discharge; and (iii) saidspeculative node is partially discharged.

Viewed from a further aspect the present invention provides a method ofoperating an integrated circuit, said method comprising the steps of:precharging a speculative node; precharging a checker node; providing adischarge path in dependence upon values of said one or more inputsignals; in response to at least one evaluation control signal, couplingsaid speculative node to be discharged to said discharge path independence upon said one or more input signals and subsequently couplingsaid checker node to be discharged to said discharge path in dependenceupon said one or more input signals; and detecting an error when any oneof: (i) said speculative nodes is discharged and said checking node isundischarged; (ii) said speculative node is undischarged and saidchecking node is discharge; and (iii) said speculative node is partiallydischarged.

A complementary aspect of the present invention provides an integratedcircuit having at least one processing stage comprising: a speculativenode; an output node; precharge circuitry coupled to said speculativenode to precharge said speculative node; logic circuitry responsive toone or more input signals to provide a first discharge path independence upon values of said one or more input signals; complementarylogic circuitry responsive to one or more complement input signals, saidone or more complement input signals being complements of said one ormore input signals, to provide a second discharge path in dependenceupon said one or more complement input signals, such that combinationsof said one or more input signals that provide said first discharge pathdo not provide said second discharge path and combinations of said oneor more input signals that do not provide said first discharge path doprovide said second discharge path; evaluation control circuitryresponsive to at least one evaluation control signal to couple saidspeculative node to said logic circuitry to be discharged through saidfirst discharge path in dependence upon said one or more input signals;an inverting circuit coupled to said speculative node and configured tocharge said output node if said speculative node is discharged; whereinsubsequent to coupling of said speculative node to said logic circuit,said evaluation circuit couples said output node to said complementarylogic circuitry to be discharged through said second discharge path independence upon said one or more complementary input signals; and errordetection circuitry coupled to said output node to detect an error whensaid output node is discharged through said complementary logiccircuitry.

In this aspect the error detection is provided by the use ofcomplementary logic circuitry responsive to one or more complement inputsignals derived from the input signals from the main logic circuitry.The complement logic circuitry during normal operation will notdischarge the output node if the speculative node has been properlydischarged, but if the speculative node was discharged incorrectly, suchas due to noise, then the output node will be charged in response to thedischarge of the speculative node and the complementary logic circuitrywill then discharge the output node in the subsequent evaluationperformed by the complementary logic circuitry. This discharge throughthe complementary logic circuitry is indicative of an error. Theinverting circuit may be a simple inverter or some other circuit whichprovides the function of inverting (as well as any other functions whichmight be combined therewith).

This technique is suited to use in domino logic circuits and maysimilarly be used to provide closed-loop control as previouslydiscussed. The use of a processing stage with both logic circuitry andcomplementary logic circuitry as discussed above may be combined withuse of a further processing stage including a further speculative nodeand a checker node as also mentioned above. It may be that differentforms of error detection in accordance with the present techniques arebetter suited to particular processing stages and may be targetedaccordingly.

Viewed from a further aspect the present invention provides anintegrated circuit having at least one processing stage comprising:speculative node means; output node means; precharge means coupled tosaid speculative node for precharging said speculative node means; logicmeans responsive to one or more input signals for providing a firstdischarge path in dependence upon values of said one or more inputsignals; complementary logic means responsive to one or more complementinput signals that are complements of said one or more input signals forproviding a second discharge path in dependence upon said one or morecomplement input signals, such that combinations of said one or moreinput signal that provide said first discharge path do not provide saidsecond discharge path and combinations of said one or more input signalsthat do not provide said first discharge path do provide said seconddischarge path; evaluation control means responsive to at least oneevaluation control signal for coupling said speculative node means tosaid logic means to be discharged through said discharge path independence upon said one or more input signals; an inverting circuitcoupled to said speculative node means and configured to charge saidoutput node if said speculative node means is discharged; whereinsubsequent to coupling of said speculative node means to said logicmeans, said evaluation means couples said output node means to saidcomplementary logic means to be discharged through said discharge pathin dependence upon said one or more input signals; and error detectionmeans coupled to said output node to detect an error when said outputnode means is discharged through said complementary logic means.

Viewed from a further aspect the present invention provides a method ofoperating an integrated circuit, said method comprising comprising thesteps of: precharging a speculative node; providing a first dischargepath in dependence upon values of one or more input signals; providing asecond discharge path in dependence upon one or more complement inputsignals, said one or more complement input signals being complements ofsaid one or more input signals, such that combinations of said one ormore input signals that provide said first discharge path do not providesaid second discharge path and combinations of said one or more inputsignals that do not provide said first discharge path do provide saidsecond discharge path; in response to at least one evaluation controlsignal, coupling said speculative node to be discharged to said firstdischarge path in dependence upon said one or more input signals;charging an output node if said speculative node is discharged;subsequent to said coupling of said speculative node, coupling saidoutput node to be discharged to said second discharge path in dependenceupon said one or more complementary input signals; and detecting anerror when said output node is discharged through said second dischargepath.

The above, and other objects, features and advantages of this inventionwill be apparent from the following detailed description of illustrativeembodiments which is to be read in connection with the accompanyingdrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 schematically illustrates an integrated circuit including aplurality of processing stages utilising domino logic;

FIG. 2 schematically illustrates a processing stage utilising dominologic and having a speculative node and a checker node;

FIG. 3 is a gate level circuit diagram illustrating a processing stageincorporating domino logic and having a speculative node and a checkernode;

FIG. 4 is a timing diagram illustrating the relationship between aprecharge period, an evaluation period and a checking period within theoperation of the circuit of FIG. 3;

FIG. 5 is a timing diagram illustrating the relationship betweenprecharge period, an evaluation period and a checking period forprocessing stages operating using different phases of a clock signal;

FIG. 6 is a timing diagram illustrating operation of the circuit of FIG.3 during a late discharge;

FIG. 7 is a timing diagram illustrating operation of the circuit of FIG.3 during an incorrect discharge;

FIG. 8 is a flow diagram schematically illustrating the operation of thecircuit of FIG. 3;

FIG. 9 is a gate level circuit diagram illustrating another exampleembodiment of domino logic incorporating error detecting circuitry;

FIG. 10 is a timing diagram schematically illustrating the operation ofa main clock and a checking clock in the operation of the circuit ofFIG. 9; and

FIG. 11 is a flow diagram schematically illustrating the operation ofthe circuit of FIG. 9.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 illustrates an integrated circuit 2 including multiple processingstages 4, 6, 8, 10, 12 disposed between input registers 14, 16 and anoutput register 18. It will be appreciated that the integrated circuit 2will typically contain a large number of such processing stages and onlya few of these processing stages have been schematically illustrated.The processing stages 4, 6, 8, 10, 12 are in the form of domino logicprocessing stages having nodes which are precharged and then selectivelydischarged depending upon one or more inputs signal to those dominologic processing stages 4, 6, 8, 10, 12. The signals generated by theselective discharge of the nodes within the domino logic go on to forminputs to further stages of domino logic. This type of arrangement ofdomino logic is in itself known to those in this technical field andwill not be described further herein.

FIG. 2 schematically illustrates a processing stage 20 forming part ofdomino logic. The processing stage 20 includes a speculative node 22, achecker node 24 and logic circuitry 26 for selectively discharging thespeculative node 22 and the checker node 24 in dependence upon thevalues of a plurality of input signals A, B, C, D, E, F. A speculativenode evaluation gate selectively couples the speculative node 22 to thelogic circuitry 26 in dependence upon a speculative clock signaleval_clk. A checker node evaluate gate 30 couples the checker node 24 tothe logic circuitry 26 under control of a checker clock signal chk_clk.

The output from the speculative node 22 is provided as output signal Y.This output signal Y may be supplied to a further processing stage ofdomino logic either in accordance with the circuit of FIG. 3 or thecircuit of FIG. 9 (as will be described later). Error detectioncircuitry 32 serves to receive signals both from the speculative node 22and the checker node 24 indicating whether these respective nodes aredischarged or undischarged. In correct operation the behaviour of thespeculative node 22 and the checker node 24 will be the same.Accordingly, if operation is correct then both the speculative node 22and the speculative node 24 will be discharged or both the speculativenode 22 and the checker node 24 will be undischarged. If only the one ofthe speculative node 22 and the checker node 24 is discharged or if thespeculative node 22 is partially discharged (corresponding tometastability), then this indicates erroneous operation and the errordetection circuitry 32 generates an error signal. This error signal canthen be used to control the operational parameters of the domino logicprocessing stage 20 in order to try to prevent further erroneousoperation.

FIG. 3 illustrates at gate level the processing stage 20 using dominologic. Logic circuitry 26 provides a discharge path to ground independence upon a plurality of input signals A, B, C, D, E and F. Thenodes within the logic circuitry 26 may optionally be precharged to VDDor VSS if required. This optional precharging of the stack nodes withinthe logic circuitry 26 is an operating parameter which may be controlledin dependence upon whether or not errors are detected so as to increasethe robustness of operation of the processing stage 20. The parametercontrol circuitry 34 is responsive to an error signal generated by theerror detection circuitry 32 so as to adjust various operationparameters of the processing stage 20.

The speculative node 22 is shown in FIG. 3 as a signal line selectivelycoupled via speculative node evaluate gate 28 to the logic circuitry 26.The speculative node 22 is precharged via precharge circuitry 36. Thisprecharge circuitry can precharge the speculative node 22 to a varietyof different potential levels under control of a strong prechargeselecting signal and a weak precharge selecting signal generated by theparameter control circuitry 34. A stronger precharge will produce morerobust operation, but the domino logic will tend to operate more slowly.The checker node 24 is a signal line coupled to the logic circuitry 26via the checker node evaluate gate 30. The precharge circuitry 36 alsoincludes a gate which precharges the checker node 24 to VDD.

Keeper circuitry 38 comprises a plurality of weak gates acting tomaintain the speculative node 22 in its precharged state. The number ofthese keeper gates switched into use is controlled in dependence uponthe number of detected errors by the parameter control circuitry 34. Themore keeper gates in use, the more strongly the speculative node 22 willkeep its precharged stage and be resistant to erroneous discharge, butthe more slowly it will respond to an intended discharge through thelogic circuitry 26. It will be appreciated that it is desirable to onlyuse sufficient keeper circuit strength to suppress errors and not anexcess of keeper circuitry strength which would unnecessarily slowoperation of the domino logic.

The error detection circuitry 32 is formed of three stacks oftransistors 40, 42 and 44. Transistor stack 40 detects errorscorresponding to the speculative node 22 being undischarged and thechecker node 24 being discharged. This corresponds to the late arrivalof one of the input signals A, B, C, D, E and F to the logic circuitry26. If this late arrival condition occurs, then all of the transistorsin the stack 40 will be switched on such that the error node 46 will bedischarged and an error signal generated.

The second stack of gates 42 is responsive to the situation in which thespeculative node 22 is discharged and the checker node 24 isundischarged. This corresponds to spurious discharge of the speculativenode 22, such as due to noise. If such a spurious discharge errorcondition is present, then all of the transistors in the stack 42 willbe switched on and the error note 46 will be discharged.

The final stack 44 serves to detect metastability in the state of theoutput signal Y. Such metastability may result from the speculative node22 being subject to a late transition or partial discharge. The actionof p-skewed inverters 48 and 50 is to drive partially discharged signalsto full rail values such that, if the output signal Y is metastable,then all of the transistors within the stack 44 will be switched on andthe error node 46 will again be discharged.

FIG. 4 is a timing diagram illustrating the relationship between thevarious clock signals, input signals and output signals used in thecircuit of FIG. 3. It will be seen that the full clock cycle is splitinto a half cycle of the evaluate phase of the speculative nodeindicated by the letter E. This is followed by a quarter cycle of achecker phase in which the checker node 24 is coupled to the logiccircuitry 26 indicated by the letter C. A precharge phase indicated bythe letter P is formed in the final quarter cycle and during this phasethe speculative node 22 and the checker node 24 are precharged back totheir starting values.

The evaluate clock EVAL_CLK which controls the speculative node evaluategate 28 acts to open this gate 28 during the evaluate half cycle E. Atthe end of this half cycle the checker clock CHK_CK which controls thechecker node evaluate gate 30 connects the checker node 24 to the logiccircuitry 26 for a subsequent quarter cycle C. The transistor stack 40and the transistor stack 44 serve to respectively detect the latearrival of an input signal A, B, C, D, E and F or metastability in theoutput signal Y during the quarter phase C corresponding to the activeportion of the checker clock CHK_CLK. The transistor stack 42 whichdetects a spurious discharge of the speculative node 22 is active duringthe final quarter phase P of the clock during which precharge also takesplace.

As will be seen in FIG. 4, the input signals A, B, C, D, E and F duringcorrect operation arrive early in the evaluate phase and result in anearly transition in the output signal Y. This output signal Y may thenbe passed to further stages of domino logic operating within the sameclock phase of the next clock phase. It is this propagation of signalsrapidly through different domino logic processing stages whichcontributes to its high speed of operation when correctly formed andoperated.

The evaluate clock EVAL_CLK and the checker clock CHK_CLK can beseparately formed or may be part of a four-phase clocking scheme inorder to divide the overall clock cycling to four periods asillustrated. The rising edge of the checker clock CHK_CLK may betriggered in some embodiments by the falling edge of the evaluate clockEVAL_CLK. It is also possible that the checker clock could beself-timed.

As will be seen in FIG. 4, both the phases C and P occur within the lowphase of the clock and accordingly something beyond a simple clock isused, such as a four-phase clock scheme or the self time scheme for thephase C as discussed above. The checker phase C defines a speculationwindow during which the speculative result has been generated and hasbeen passed on for further use, but has not yet been verified ascorrect. There is the risk that one of the input signals to the logiccircuitry 26 is so late that the error checking circuit fails toidentify this error. However, if these inputs are also driven bysimilarly protected domino circuitry, then this will also be subject toits own checking of its output signals. Thus, if stage N is subject toan overshoot due to a late signal from stage N-1, then this should becaught by the error checking logic for stage N-1.

A significant constraint on the length of the checker phase C is theworst case discharge time given that all of the inputs to the logiccircuitry 26 should be stable. However, the worst case discharge timefor the checking node 24 and the speculative precharged time are bothlikely to be less than a quarter cycle in duration and so there issufficient time during the half cycle allocated to these phases ofoperation. Constraints on the inputs to the processing stage areprincipally controlled by the checker phase C. Inputs which resolve lowmust be set up before the checker phase C and inputs which resolve highmust arrive in enough time for them to be evaluated. For signals arisingfrom logic within the same phase, a hold constraint relating to thechecker clock CHK-_CLK falling applies to inputs which resolve high asthe following precharge stage will not cause low inputs to transitionhigh.

FIG. 5 illustrates the relationship between the individual evaluate andcheck clock signals of processing stages operating in different clockphases when signals are passed between those processing stages. Theconsumer evaluate phase is offset from the producer phase by a quartercycle, and consequently the output of the producer phase Y0 which formsthe input to the consumer phase A1 must be held stable during theprecharge phase of the producer stage due to the overlap with thechecker phase of the consumer phase.

FIG. 6 illustrates the operation of a processing stage in detecting anerror due to a late discharge, i.e. one of the input signals A, B, C, D,E and F to the logic circuitry 26 does not arrive in sufficient time forthe speculative node 22 to be properly discharged. As illustrated inFIG. 6, the input signals 52 arrive late and accordingly do notdischarge the speculative node 22 so that the output signal Y (which haspassed through an inverter) does not transition high. The late arrivinginput signals 52 serve to discharge the checker node 24 and accordinglya transition occurs on the checker node signal value 54. The differencebetween the values of the output signal Y and the checker node signal 54is detected by the transistor stack 40 so that the error node 46 isdischarged and an error is detected.

FIG. 7 illustrates detecting an error due to an incorrect discharge ofthe speculative node 22. As illustrated in FIG. 7, noise 56 in the inputsignals to the logic circuitry 26 incorrectly discharges the speculativenode 22 resulting in an incorrect transition in the output signal Y. Thechecker node signal 54 will not transition. Accordingly, this differencein the discharge between the speculative node 22 and the checker node 24will be detected by the transistor stack 42 which will discharge theerror node 46 and generate an error signal.

FIG. 8 is a flow diagram schematically illustrating the operation of thecircuit of FIG. 3. It will be appreciated that such a flow diagramnecessarily shows a sequential process whereas those in this technicalfield will appreciate that in a hardware implementation many of theprocessing steps can be performed in parallel, or may be performed in adifferent order.

At step 58 the speculative node 22 and the checker node 24 areprecharged. Step 60 corresponds to the action of the logic circuitry 26in discharging the speculative node 22 via step 62, if this is selectedby the input signals A, B, C, D, E and F. Subsequently, steps 64 and 66serve to discharge the checker node 24, if this is selected by the inputsignals A, B, C, D, E and F, through the logic circuitry 26 during thechecker phase C.

Step 68 determines whether both nodes are undischarged. If both nodesare undischarged, then this correspondence to correct operation andprocessing terminates. If both nodes are not charged, then step 70determines whether both nodes are discharged. If both nodes aredischarged, then this corresponds to correct operation and processing isterminated. If the tests at steps 68 and 70 serve to indicate that thenodes are not both fully charged or both fully discharged, then thiscorresponds to an error and an error signal is generated at step 72.

FIG. 9 illustrates at a gate level an alternative circuit for aprocessing stage 74. This processing stage 74 may be used in combinationwith the processing stage of FIG. 3 or on its own. The processing stage74 includes a speculative node 76, an output node 78, prechargecircuitry 80, logic circuitry 82 and complementary logic circuitry 84.The complementary logic circuitry 84 is supplied with input signalswhich are the logical complements of the input signals which aresupplied to the logic circuitry 82. The arrangement of the complementarylogic circuitry 84 is such that for input signals A and B if the logiccircuitry 82 provides a discharge path for the speculative node 76, thenthe complementary logic circuitry 84 will not provide a discharge pathfor the output node 78. Conversely, if the logic circuitry 82 does notprovide a discharge path for the speculative node 76, then thecomplementary logic circuitry 84 will provide a discharge path for theoutput node 78.

Evaluation control circuitry in the form of gate 86 serves to couple thespeculative nodes 76 to a discharge path via the logic circuitry 82during an evaluate phase E of a clock signal CK. The prechargedcircuitry 80 is inactive during this evaluation phase. With reference toFIG. 10 illustrating timings of the control signals for the circuit ofFIG. 9, an inverter 88 serves to pass the signal from the speculativenode 76 to the output node 78 when clock signal C_CK is low, i.e. duringthe first part of E, when C is not active and during P (to ensure outputnode 78 is low before the next E). If the speculative node 76 hasdischarged, then the inverter 88 will result in the output node 78 beingcharged. If the discharge of the speculative node 76 was correct and wasthe result of a proper discharge through the logic circuitry 82, thenthe complementary logic circuitry 84 will not provide a discharge pathduring the checking phase and accordingly the output node 76 will remainhigh. However, if the discharge of the speculative node 76 wasunintended, e.g. due to noise, then the complementary logic circuitry 84will provide a discharge path during the checking phase C and the outputnode 78 will transition from high to low. The transition detector 90forms error detection circuitry which is responsive to detection of sucha transition in the output node being discharged through thecomplementary logic circuitry 84 to generate an error signal Err.

If an error is detected, then the operating parameters of the processingstage 74 may be adjusted. This adjustment may take the form of adjustingthe VDD or ground levels used to drive the speculative node 76 and theinverter 88 respectively so as to increase the noise immunity of theinverter 88 (slowing down the inverter 88 after an error rather thanspeeding it up). These are illustrated as the levels t_vdd and t_gnd inFIG. 9. Increasing the VDD supplied to the speculative node makesoperation more robust but slower. Similarly, decreasing the ground levelto the inverter 88 makes operation more robust but slower.

FIG. 10 illustrates the timing relationship between the signals whichcontrol the operation of the logic circuitry 80 and those which controlthe operation of the inverter 88 and the complementary logic circuitry84. Operation falls into an evaluate phase E, a checking phase C and aprecharge phase P.

FIG. 11 is a flow diagram schematically illustrating the operation ofthe circuit of FIG. 9. It will be appreciated by those in this technicalfield that the processing steps illustrated in FIG. 11 may take place ina different order or with some of the steps taking place in parallel.

At step 90 the speculative node 76 is precharged high resulting in theoutput node 78 being low. At steps 92 and 94 the speculative node 76 isdischarged in dependence upon the input signal values A and B. At step96 the speculative node signal value 76 is driven through the inverter88 to the output node 78. At steps 98 and 100 the output node 78 isselectively discharged based upon the complement input signals Ā and Bsupplied to the complementary logic circuitry 84.

At step 102 the transition detector 90 detects whether or not there is atransition in the output signal level of the output node 78, i.e. theoutput node 78 has discharged through the complementary logic circuitry84. If such a transition is detected, then step 104 generates an errorsignal.

Although illustrative embodiments of the invention have been describedin detail herein with reference to the accompanying drawings, it is tobe understood that the invention is not limited to those preciseembodiments, and that various changes and modifications can be effectedtherein by one skilled in the art without departing from the scope andspirit of the invention as defined by the appended claims.

1. An integrated circuit having at least one processing stagecomprising: a speculative node; a checker node; precharge circuitrycoupled to said speculative node and to said checker node to prechargesaid speculative node and to precharge said checker node; logiccircuitry responsive to one or more input signals to provide a dischargepath in dependence upon values of said one or more input signals;evaluation control circuitry responsive to at least one evaluationcontrol signal to couple said speculative node to said logic circuitryto be discharged through said discharge path in dependence upon said oneor more input signals and subsequently to couple said checker node tosaid logic circuitry to be discharged through said discharge path independence upon said one or more input signals; and error detectioncircuitry coupled to said speculative node and to said checker node todetect an error when any one of: (i) said speculative nodes isdischarged and said checking node is undischarged; (ii) said speculativenode is undischarged and said checking node is discharge; and (iii) saidspeculative node is partially discharged.
 2. An integrated circuit asclaimed in claim 1, comprising a plurality of said processing stagesproviding a domino logic circuit.
 3. An integrated circuit as claimed inclaim 2, wherein a signal value of a speculative node of a firstprocessing stage of said domino logic circuit is supplied as an inputsignal to logic circuitry of a second processing stage of said dominologic circuit.
 4. An integrated circuit as claimed in claim 1, whereinsaid at least one evaluation control signal comprises a speculativeclock signal controlling coupling of said speculative node to said logiccircuitry and a checker clock signal controlling coupling of saidchecker node to said logic circuitry.
 5. An integrated circuit asclaimed in claim 4, wherein a transition in said speculative clocksignal to a speculative clock signal value that decouples saidspeculative node from said logic circuitry serves to trigger atransition in said checker clock signal to a checker clock signal valuethat couples said checker node to said logic circuitry.
 6. An integratedcircuit as claimed in claim 5, wherein a transition in said checkerclock signal to a checker clock signal value that decouples said checkernode from said logic circuitry is self-timed.
 7. An integrated circuitas claimed in claim 4, wherein said speculative clock signal and saidchecker clock signal are part of a four phase clocking scheme.
 8. Anintegrated circuit as claimed in claim 1, wherein said error detectioncircuitry detects an error in operation of said logic circuitrydischarging said speculative node due to a late change in one or more ofsaid one or more input signals as said speculative node beingundischarged and said checker node being discharged.
 9. An integratedcircuit as claimed in claim 1, wherein said error detection circuitrydetects an error in operation of said logic circuitry discharging saidspeculative node due to noise inducing an incorrect discharge of saidspeculative node as said speculative node being discharged and saidchecker node being undischarged.
 10. An integrated circuit as claimed inclaim 1, wherein said error detection circuitry detects an error inoperation of said logic circuitry discharging said speculative node dueto metastability in discharge of said speculative node as saidspeculative node being partially discharged.
 11. An integrated circuitas claimed in claim 1, wherein said precharge circuitry is responsive todetection of an error by said error detection circuitry to increase inmagnitude said precharge of said speculative node and said checker node.12. An integrated circuit as claimed in claim 1, comprising keepercircuitry coupled to said speculative node and configured to maintainsaid speculative node in a precharged state until overwhelmed bydischarged of said speculative node through said discharge path.
 13. Anintegrated circuit as claimed in claim 12, wherein said keeper circuitryis responsive to detection of an error by said error detection circuitryto increase conductance of said keeper circuitry so as to more stronglymaintain said speculative node in said precharged state.
 14. Anintegrated circuit as claimed in claim 4, wherein said evaluationcontrol circuitry comprises a speculative node evaluate gate responsiveto said speculative clock signal to selectively couple said speculativenode to said logic circuitry.
 15. An integrated circuit as claimed inclaim 4, wherein said evaluation control circuitry comprises a checkernode evaluate gate responsive to said checker clock signal toselectively couple said checker node to said logic circuitry.
 16. Anintegrated circuit having at least one processing stage comprising:speculative node means; checker node means; precharge means coupled tosaid speculative node means and to said checker node means forprecharging said speculative node means and for precharging said checkernode means; logic means responsive to one or more input signals forproviding a discharge path in dependence upon values of said one or moreinput signals; evaluation control means responsive to at least oneevaluation control signal for coupling said speculative node means tosaid logic means to be discharged through said discharge path independence upon said one or more input signals and subsequently forcoupling said checker node means to said logic means to be dischargedthrough said discharge path in dependence upon said one or more inputsignals; and error detection means coupled to said speculative nodemeans and to said checker node means detecting an error when any one of:(i) said speculative nodes is discharged and said checking node isundischarged; (ii) said speculative node is undischarged and saidchecking node is discharge; and (iii) said speculative node is partiallydischarged.
 17. A method of operating an integrated circuit, said methodcomprising the steps of: precharging a speculative node; precharging achecker node; providing a discharge path in dependence upon values ofsaid one or more input signals; in response to at least one evaluationcontrol signal, coupling said speculative node to be discharged to saiddischarge path in dependence upon said one or more input signals andsubsequently coupling said checker node to be discharged to saiddischarge path in dependence upon said one or more input signals; anddetecting an error when any one of: (i) said speculative nodes isdischarged and said checking node is undischarged; (ii) said speculativenode is undischarged and said checking node is discharge; and (iii) saidspeculative node is partially discharged.
 18. An integrated circuithaving at least one processing stage comprising: a speculative node; anoutput node; precharge circuitry coupled to said speculative node toprecharge said speculative node; logic circuitry responsive to one ormore input signals to provide a first discharge path in dependence uponvalues of said one or more input signals; complementary logic circuitryresponsive to one or more complement input signals, said one or morecomplement input signals being complements of said one or more inputsignals, to provide a second discharge path in dependence upon said oneor more complement input signals, such that combinations of said one ormore input signals that provide said first discharge path do not providesaid second discharge path and combinations of said one or more inputsignals that do not provide said first discharge path do provide saidsecond discharge path; evaluation control circuitry responsive to atleast one evaluation control signal to couple said speculative node tosaid logic circuitry to be discharged through said first discharge pathin dependence upon said one or more input signals; an inverting circuitcoupled to said speculative node and configured to charge said outputnode if said speculative node is discharged; wherein subsequent tocoupling of said speculative node to said logic circuit, said evaluationcircuit couples said output node to said complementary logic circuitryto be discharged through said second discharge path in dependence uponsaid one or more complementary input signals; and error detectioncircuitry coupled to said output node to detect an error when saidoutput node is discharged through said complementary logic circuitry.19. An integrated circuit as claimed in claim 18, comprising a pluralityof said processing stages providing a domino logic circuit.
 20. Anintegrated circuit as claimed in claim 19, wherein a signal value ofsaid output node of a first processing stage of said domino logiccircuit is supplied as an input signal to logic circuitry of a secondprocessing stage of said domino logic.
 21. An integrated circuit asclaimed in claim 18, wherein said error detection circuitry comprises atransition detector.
 22. An integrated circuit as claimed in claim 18,wherein said precharge circuitry is responsive to detection of an errorby said error detection circuitry to increase in magnitude saidprecharge of said speculative node.
 23. An integrated circuit as claimedin claim 18, wherein detection of an error by said error detectioncircuitry triggers a change in one or more power supply voltages to saidinverter so as to increase a speed of operation of said inverter.
 24. Anintegrated circuit as claimed in claim 18, comprising a furtherprocessing stage comprising: a further speculative node; a checker node;further precharge circuitry coupled to said further speculative node andto said checker node to precharge said further speculative node and toprecharge said checker node; further logic circuitry responsive to oneor more further input signals to provide a further discharge path independence upon values of said one or more further input signals;further evaluation control circuitry responsive to at least one furtherevaluation control signal to couple said further speculative node tosaid further logic circuitry to be discharged through said furtherdischarge path in dependence upon said one or more further input signalsand subsequently to couple said checker node to said further logiccircuitry to be discharged through said further discharge path independence upon said one or more further input signals; and furthererror detection circuitry coupled to said further speculative node andto said checker node to detect an error when any one of: (i) saidspeculative nodes is discharged and said checking node is undischarged;(ii) said speculative node is undischarged and said checking node isdischarge; and (iii) said speculative node is partially discharged. 25.An integrated circuit having at least one processing stage comprising:speculative node means; output node means; precharge means coupled tosaid speculative node for precharging said speculative node means; logicmeans responsive to one or more input signals for providing a firstdischarge path in dependence upon values of said one or more inputsignals; complementary logic means responsive to one or more complementinput signals that are complements of said one or more input signals forproviding a second discharge path in dependence upon said one or morecomplement input signals, such that combinations of said one or moreinput signal that provide said first discharge path do not provide saidsecond discharge path and combinations of said one or more input signalsthat do not provide said first discharge path do provide said seconddischarge path; evaluation control means responsive to at least oneevaluation control signal for coupling said speculative node means tosaid logic means to be discharged through said discharge path independence upon said one or more input signals; an inverting circuitcoupled to said speculative node means and configured to charge saidoutput node if said speculative node means is discharged; whereinsubsequent to coupling of said speculative node means to said logicmeans, said evaluation means couples said output node means to saidcomplementary logic means to be discharged through said discharge pathin dependence upon said one or more input signals; and error detectionmeans coupled to said output node to detect an error when said outputnode means is discharged through said complementary logic means.
 26. Amethod of operating an integrated circuit, said method comprisingcomprising the steps of: precharging a speculative node; providing afirst discharge path in dependence upon values of one or more inputsignals; providing a second discharge path in dependence upon one ormore complement input signals, said one or more complement input signalsbeing complements of said one or more input signals, such thatcombinations of said one or more input signals that provide said firstdischarge path do not provide said second discharge path andcombinations of said one or more input signals that do not provide saidfirst discharge path do provide said second discharge path; in responseto at least one evaluation control signal, coupling said speculativenode to be discharged to said first discharge path in dependence uponsaid one or more input signals; charging an output node if saidspeculative node is discharged; subsequent to said coupling of saidspeculative node, coupling said output node to be discharged to saidsecond discharge path in dependence upon said one or more complementaryinput signals; and detecting an error when said output node isdischarged through said second discharge path.